Existing data flow analysis systems use data flow to analyze the source code of an entire program. Typically, an entire program is analyzed to determine where all data is used and where it originates. These methods are called interprocedural data flow analysis, and they utilize significant resources such as memory and execution time.
Additionally these prior methods limit data analysis to the abstract syntax trees derived from the source of a program. They do not analyze the data flow after the program has been transformed into binary code.